﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace JuegoImagenes.Models
{
    [Table("UserProfile")]
    public class Perfil : IComparable
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        [Column("Id")]
        public int Id { get; set; }

        [Column("Puntaje")]
        public int Puntaje { get; set; }

        [Column("UserName")]
        public String NombreDeUser { get; set; }
        
        public Perfil() { }

        public Perfil(String username)
        {
            this.NombreDeUser = username;
            this.Puntaje = 0;
        }
        

        public int CompareTo(object obj)
        {
            Perfil perfilComparado = (Perfil)obj;
            if (perfilComparado.Puntaje < this.Puntaje)
                return -1;
            if (perfilComparado.Puntaje != 0)
            {
                return perfilComparado.Puntaje;
            }
            else
                return string.Compare(this.NombreDeUser, perfilComparado.NombreDeUser);
        }
    }
}
